יש לי פונקציה js - שמוספיה li שתוכה יש לינק , לרשימה קיימת ב dom
זאת פונקציה :

function create_Element(list,text,id){
   var ul;
    var li =document.createElement("li");
    var link =document.createElement("a");
    link.setAttribute("class",id);
    $(link).attr("href","#");
    $(link).text(text);
    li.appendChild(link);
   
    if(list =="listone"){
         ul=document.getElementById("listohterone");
         ul.appendChild(li);
    }else{
          ul=document.getElementById("listohtertwo");
          ul.appendChild(li);
    }
   
 
   
   
   
}




$("#listohterone li a").click(function(event) {
        event.preventDefault();
        var classelement = $(this).attr("class"). split(' ');
       console.log( classelement);
        $(this).addClass("removeother");
         $("#sort ul").addClass("none");
         $("#" + classelement[0]).removeClass("none");
        $("#" +  classelement[0] +" * ").removeClass("none");
        $("#listohterone").addClass("none");
        $("div #othersort").addClass("none");
    });




יש לי event שעובד על רשימה הזאת , קוד שלו הוא:



קוד של event , לא עובד שאני לוחץ לינק שהוסיתי דרך פונקציה רשומה מעל
אני ישמח לעזרה
יום טוב וסוף שבוע טוב

1 תשובות

avatar ענה intval ב 01 למאי 2014 #

ההרשמה ללחיצה, כלומר הפונקציה

$("#listohterone li a").click(

מתבצעת לפני שנוספים האלמנטים החדשים. מה שהיא עושה - היא עוברת על כל האלמנטים שעונים לסלקטור #listohterone li a ורושמת אותם לפעולה קליק. נניח שהיו חמישה אלמנטים שענו לסקטור הזה בהתחלה, רק אותם חמישה ירשמו לפעולה קליק. האלמנטים החדשים שיווצרו לא רשומים לפעולה קליק.

אם תחליף את זה בפונקציה on - גם האלמנטים החדשים ירשמו לפעולה שתבקש:
$("#listohterone li a").on('click', function(event) {